#ifndef __ft5206_H__
#define __ft5206_H__
#include "main.h"


#if 1 
  #define ft5206_DEBUG(format, args...) printf("[ft5206]-");printf(format, ## args );
#else
  #define ft5206_DEBUG(format, args...) ;
#endif


typedef struct
{
  char x[5];
	char y[5];
  uint8_t sta;
    
	  
}_ft5206_data;
extern _ft5206_data ft5206_data;


#define TP_PRES_DOWN	0X80  //触屏被按下
#define TP_CATH_PRES	0X40  //有按键按下了


//I2C读写命令	
#define FT5206_CMD_WR 				0X70    	//写命令
#define FT5206_CMD_RD 				0X71		//读命令
  
//FT5206 部分寄存器定义 
#define FT5206_DEVIDE_MODE 			0x00   		//FT5206模式控制寄存器
#define FT5206_REG_NUM_FINGER   0x02		//触摸状态寄存器

#define FT5206_TP1_REG 				0X03	  	//第一个触摸点数据地址
#define FT5206_TP2_REG 				0X09		//第二个触摸点数据地址
#define FT5206_TP3_REG 				0X0F		//第三个触摸点数据地址
#define FT5206_TP4_REG 				0X15		//第四个触摸点数据地址
#define FT5206_TP5_REG 				0X1B		//第五个触摸点数据地址  
 

#define	FT5206_ID_G_LIB_VERSION		0xA1		//版本		
#define FT5206_ID_G_MODE 			0xA4   		//FT5206中断模式控制寄存器
#define FT5206_ID_G_THGROUP			0x80   		//触摸有效值设置寄存器
#define FT5206_ID_G_PERIODACTIVE	0x88   		//激活状态周期设置寄存器
#define FT5206_ID_G_STA	0xBC   		//工作模式
// 0x00: InFO模式
// 0x01: 正常工作模式
// 0x03: 工厂模式
// 0x04: 自动校正模式 

uint8_t FT5206_WR_Reg_Len(uint16_t reg,uint8_t *buf,uint8_t len);
void FT5206_RD_Reg_Len(uint16_t reg,uint8_t *buf,uint8_t len);
uint8_t FT5206_Scan(uint8_t mode);

esp_err_t ft5206_init(void);
void  ft5206_test_task(void *pvParameter);

#endif